package com.cnit1818.mybatis.dialect;

/**
 * 类似hibernate的Dialect,但只精简出分页部分
 *
 */
public abstract class Dialect
{
    /**
     * 是否支持数据库级翻页，首页
     * @return boolean
     */
    public abstract boolean supportsLimit();

    /**
     * 是否支持数据库级翻页，除首页外可以游标偏移
     * @return boolean
     */
    public abstract boolean supportsLimitOffset();

    /**
     * 获得翻页SQL语句
     * @param sql 原始查询sql语句
     * @param skipResults 开始跳过的位置
     * @param maxResults 每页最大记录数量
     * @return 翻页SQL语句
     */
    public abstract String getLimitString(String sql, int skipResults, int maxResults);
}
